package com.wlyy.his.common.util.theadLocal;

/**
 * @ClassName UserUtils
 * @Description TODO 存储/获取当前线程的用户信息工具类
 * @Author zhouyanhui
 * @Date 2021-08-30 21:53
 * @Version 1.0
 **/
public class UserUtils {

    /**
     * 线程变量，存放user实体类信息，即使是静态的与其他线程也是隔离的
     */
    private static ThreadLocal<String> userThreadLocal = new ThreadLocal<>();

    /**
     * 从当前线程变量中获取用户Id
     */
    public static String getLoginUser() {
        return userThreadLocal.get();
    }


    /**
     * 为当前的线程变量赋值上用户信息
     */
    public static void setLoginUser(String userId) {
        userThreadLocal.set(userId);
    }

    /**
     *  清除线程变量
     */
    public static void removeUser() {
        userThreadLocal.remove();
    }
}


